package hyl.core.conf;

import java.io.File;
import java.util.Properties;

/**
 * 用于读取外部的properties
 */
public class MyPrp {
	protected Properties _pp = null;

	public MyPrp() {
		_pp = new Properties();
	}

	public MyPrp(String file) {
		_pp = MyConfig.getProperties(file);
	}

	public MyPrp(String pagepath, String file) {
		_pp = MyConfig.getProperties(pagepath + File.separator + file);
	}

	public boolean isEmpty() {
		return _pp == null;
	}

	/**
	 * 如果key不存在,则覆盖
	 */
	public void set(String key, String value) {
		if (!_pp.containsKey(key))
			_pp.setProperty(key, value);
	}

	/**
	 * 如果key不存在,则覆盖
	 */
	public void setObj(String key, Object value) {
		if (!_pp.containsKey(key))
			_pp.put(key, value);
	}

	/**
	 * 如果key存在,则覆盖 value ,不存在则新增
	 */
	public void putObj(String key, Object value) {
		_pp.put(key, value);
	}

	/**
	 * 如果key存在,则覆盖 value ,不存在则新增
	 */
	public void put(String key, String value) {
		_pp.setProperty(key, value);
	}

	/**
	 * 如果key存在,则覆盖 value ,不存在则丢弃
	 */
	public void resetObj(String key, Object value) {
		if (_pp.containsKey(key))
			_pp.put(key, value);
	}

	/**
	 * 如果key存在,则覆盖 value ,不存在则丢弃
	 */
	public void reset(String key, String value) {
		if (_pp.containsKey(key))
			_pp.setProperty(key, value);
	}

	public Object getObj(String key) {
		return _pp.get(key);
	}

	public String get(String key) {
		return _pp.getProperty(key);
	}

	public Properties getAll() {
		return _pp;
	}
}